<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title></title>
	<link rel="stylesheet" href="">
	<style>
		.warning{
			color: #f24;
		}
		.safe{
			color: #42b983;
		}
	</style>
</head>
<body>
<script src='http://cdn.jsdelivr.net/vue/1.0.26/vue.js'></script>
<script src='https://cdn.jsdelivr.net/vue.router/0.7.10/vue-router.min.js'></script>
<div id="root">
	<span :class='classObj' @click='toggle'>
		状态:{{alert}}:{{isSafe}}
	</span>
</div>
<script>
	/**
	 * 绑定对象引用
	 * 这里绑定的对象可以写到Vue实例的data里面，
	 * 而在class="classObj "，
	 * 双引号中的class是对Vue实例中classObj对象的引用。
	 * classObj可以放在data中或者computed中，如果在computed中，
	 * 则classObj所对应的函数必须返回一个对象如下：
	 */
	var vm = new Vue({
		el : '#root',
		data : {
			isWarning : true,
			alertList:['红色警报','警报解除'],
			alert : '',
		},
		computed : {
			isSafe : function(){
				return !this.isWarning;
			},
			classObj : function(){//返回一个class对象
				return {
					safe : this.isSafe,
					warning : this.isWarning,
				}
			},
		},
		methods : {
			toggle : function(){
				this.isWarning = !this.isWarning;
				this.alert = this.isWarning?this.alertList[0]:this.alertList[1];
			}
		}
	})
</script>	
</body>
</html>